<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script>
      /* 
            递归
                - 调用自身的函数称为递归函数
                - 递归的作用和循环是基本一致的  

            递归的核心思想就是将一个大的问题,拆分成一个个小的问题,小的问题解决了,大的问题也就解决了

            编写递归函数,一定要包括两个要件:
                1. 基线条件 -- 递归的终止条件
                2. 递归条件 -- 如何对问题进行拆分

        */
      /* 
            1   2   3   4   5   6   7   8   9   10  11  12
        0   1   1   2   3   5   8   13  21  34  55 ....
        
            -规律,当前数目 = 前两个数的和(斐波那契数列)
        */

      function fib(n) {
        if (n < 3) {
          return 1;
        }
        return fib(n-1) +fib(n-2)
        // n = (n - 1) + (n - 2)
      }
      let result = fib(5)
      console.log(result);
    </script>
  </head>
  <body></body>
</html>
